<?php

/**
 * ECSHOP 地区列表管理文件
 * ============================================================================
 * * 版权所有 2005-2012 上海商派网络科技有限公司，并保留所有权利。
 * 网站地址: http://www.ecshop.com；
 * ----------------------------------------------------------------------------
 * 这不是一个自由软件！您只能在不用于商业目的的前提下对程序代码进行修改和
 * 使用；不允许对程序代码以任何形式任何目的的再发布。
 * ============================================================================
 * $Author: liubo $
 * $Id: area_manage.php 17217 2011-01-19 06:29:08Z liubo $
*/

define('IN_ECS', true);

require(dirname(__FILE__) . '/includes/init.php');
$exc = new exchange($ecs->table('origin'), $db, 'origin_id', 'origin_name');

/* act操作项的初始化 */
if (empty($_REQUEST['act']))
{
    $_REQUEST['act'] = 'list';
}
else
{
    $_REQUEST['act'] = trim($_REQUEST['act']);
}

/*------------------------------------------------------ */
//-- 所有地区列表
/*------------------------------------------------------ */
if ($_REQUEST['act'] == 'list')
{
    admin_priv('origin_manage');

    $origin_list = origin_list(0,0);
    
	$smarty->assign('origin_list',$origin_list);

    /* 赋值模板显示 */
	$smarty->assign('full_page',1);
    $smarty->assign('ur_here',      '原产地管理');
    $smarty->assign('action_link',  array('href' => 'origin_manage.php?act=info', 'text' => '添加原产地'));
    assign_query_info();
    $smarty->display('origin_list.htm');
}

elseif ($_REQUEST['act'] == 'info')
{
	admin_priv('origin_manage');
	$origin_id = isset($_GET['id'])?intval($_GET['id']):0;
	
	if ($origin_id > 0){
		$sql = 'SELECT * FROM '.$ecs->table('origin').' WHERE origin_id = '.$origin_id.' LIMIT 1';
		$info = $db->getRow($sql);
		if (!$info){
			sys_msg('该地区不存在', 1);
		}
	}else {
		$info = array('parent_id'=>0);
	}
	
// 	print_r(origin_list(0,$origin_id));
	$smarty->assign('origin_select',origin_list(0,$info['parent_id']));
	$smarty->assign('info',$info);
	$smarty->assign('ur_here',      $origin_id>0?'编辑原产地':'新增原产地');
	$smarty->assign('action_link',  array('href' => 'origin_manage.php?act=list', 'text' => '返回列表'));
	assign_query_info();
	$smarty->display('origin_info.htm');
	
}

/*------------------------------------------------------ */
//-- 添加新的地区
/*------------------------------------------------------ */

elseif ($_REQUEST['act'] == 'act_add')
{
    admin_priv('origin_manage');
	
    $origin_id		= intval($_POST['origin_id']);
    $parent_id      = intval($_POST['parent_id']);
    $origin_name    = json_str_iconv(trim($_POST['origin_name']));

    if (empty($origin_name))
    {
        sys_msg('原产地名不能为空',1);
    }

    /* 查看区域是否重复 */
    if (!$exc->is_only('origin_name', $origin_name, $origin_id, "parent_id = '$parent_id'"))
    {
        sys_msg('原产地名已经存在',1);
    }

    if ($origin_id > 0){
    	$sql = "UPDATE " . $ecs->table('origin') . " SET parent_id = '$parent_id', origin_name = '$origin_name' ".
    			"WHERE origin_id = $origin_id";
    	if ($db->query($sql)){
    		admin_log($origin_name, 'edit','origin');
    		$link[] = array('text' => '返回列表', 'href' => 'origin_manage.php?act=list');
    		sys_msg('编辑成功',0,$link);
    	}else{
    		sys_msg('编辑失败',1);
    	}
    }else{
    	$sql = "INSERT INTO " . $ecs->table('origin') . " (parent_id, origin_name) ".
    			"VALUES ('$parent_id', '$origin_name')";
    	if ($db->query($sql)){
    		admin_log($origin_name, 'add','origin');
    		$link[] = array('text' => '继续新增', 'href' => 'origin_manage.php?act=info');
    		$link[] = array('text' => '返回列表', 'href' => 'origin_manage.php?act=list');
    		sys_msg('新增成功',0,$link);
    	}else{
    		sys_msg('新增失败',1);
    	}
    }
}

/*------------------------------------------------------ */
//-- 编辑区域名称
/*------------------------------------------------------ */

elseif ($_REQUEST['act'] == 'edit_origin_name')
{
    check_authz_json('origin_manage');

    $id = intval($_POST['id']);
    $origin_name = json_str_iconv(trim($_POST['val']));

    if (empty($origin_name))
    {
        make_json_error('原产地名不能为空');
    }

    $msg = '';

    /* 查看区域是否重复 */
    $parent_id = $exc->get_name($id, 'parent_id');
    if (!$exc->is_only('origin_name', $origin_name, $id, "parent_id = '$parent_id'"))
    {
        make_json_error('该原产地名已经存在');
    }

    if ($exc->edit("origin_name = '$origin_name'", $id))
    {
        admin_log($origin_name, 'edit', 'origin');
        make_json_result(stripslashes($origin_name));
    }
    else
    {
        make_json_error($db->error());
    }
}

/*------------------------------------------------------ */
//-- 删除区域
/*------------------------------------------------------ */
elseif ($_REQUEST['act'] == 'remove')
{
    check_authz_json('origin_manage');

    $id = intval($_REQUEST['id']);

    $sql = "SELECT * FROM " . $ecs->table('origin') . " WHERE origin_id = '$id'";
    $origin = $db->getRow($sql);
    if (!$origin){
    	make_json_error('原产地不存在');
    }

	/* 如果底下有下级区域,不能删除 */
	$sql = "SELECT COUNT(*) FROM " . $ecs->table('origin') . " WHERE parent_id = '$id'";
	if ($db->getOne($sql) > 0)
	{
		make_json_error('该产地存在下级，不能删除');
	}
	
    if ($exc->drop($id))
    {
        admin_log(addslashes($origin['origin_name']), 'remove', 'origin');

        $origin_list = origin_list(0,0);
    
		$smarty->assign('origin_list',$origin_list);

        make_json_result($smarty->fetch('origin_list.htm'));
    }
    else
    {
        make_json_error($db->error());
    }
}

?>